Modern televisions (and the source material they present) typically display two dimensional (2D) images. The images are presented a series of frames from a single perspective. However, recently, several advanced televisions have been developed. For example, three dimensional (3D) televisions enhance the viewing experience when used with three dimensional video sources. However, there are relatively few movies that are encoded in three dimensional format. Also, currently available cable, and telephone company based broadcast services do not provide three dimensional content (except anaglyph encoded), thereby reducing the value to the user of three dimensional televisions.
A technology has evolved in computer video graphics involving so-called graphics processor units (GPUs), which typically employ single instruction multiple data (SIMD) technology. Using a SIMD processor, a powerful simplified processor architecture exploiting parallel processing is provided, in which multiple processing elements perform the same operation (“instruction”) on multiple data simultaneously. Many video cards use SIMD because similar transformations might need to occur to multiple pixels simultaneously. See Young, U.S. Pat. No. 6,429,903, incorporated herein by reference.
Hoffberg et al., U.S. Pat. No. 6,400,996, expressly incorporated herein by reference, teaches comparing two dimensional video images to three dimensional models.
Methods of converting two dimensional images and sets of images to three dimensions are known in the art. For example, Cipolla discusses an algorithm that can be used to generate a 3D model from two or more uncalibrated images. Cipolla's algorithm comprises the following four steps:
“1. We first determine a set of primitives—segments and cuboids—for which parallelism and orthogonality constraints are derived. These primitives are precisely localized in the image using the image gradient information.
“2. The next step concerns the camera calibration: the intrinsic parameters of the camera are determined for each image. This is done by determining the vanishing points associated with parallel lines in the world. Three mutually orthogonal directions are exploited.
“3. The motion (a rotation and a translation) between viewpoints are computed. The motion combined with the knowledge of the camera parameters allows the recovery of the perspective projection matrices for each viewpoint.
“4. The last step consists in using these projection matrices to find more correspondences between the images and then compute 3D textured triangles that represent a model of the scene.”
Cipolla, “3D Model Acquisition from Uncalibrated Images,” IAPR Workshop on Machine Vision Applications, Makuhari, Japan, 1998.
See also: Fehn, “An Evolutionary and Optimized Approach on 3D-TV,” Proc. of IBC, 2002.